home *** CD-ROM | disk | FTP | other *** search
-
-
-
- mmmmddddSSSSeeeettttSSSSttttaaaammmmppppMMMMooooddddeeee((((3333ddddmmmm)))) mmmmddddSSSSeeeettttSSSSttttaaaammmmppppMMMMooooddddeeee((((3333ddddmmmm))))
-
-
-
- NNNNAAAAMMMMEEEE
- mdGetStampMode, mdSetStampMode - control time stamping for an MDport
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////mmmmiiiiddddiiii....hhhh>>>>
-
- iiiinnnntttt mmmmddddSSSSeeeettttSSSSttttaaaammmmppppMMMMooooddddeeee((((MMMMDDDDppppoooorrrrtttt ppppoooorrrrtttt,,,, iiiinnnntttt mmmmooooddddeeee))))
-
- iiiinnnntttt mmmmddddGGGGeeeettttSSSSttttaaaammmmppppMMMMooooddddeeee((((MMMMDDDDppppoooorrrrtttt ppppoooorrrrtttt))))
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- mmmmddddSSSSeeeettttSSSSttttaaaammmmppppMMMMooooddddeeee controls the interpretation of the stamp field in an
- MDevent by the port. The available interpretation modes are _M_D__N_O_S_T_A_M_P,
- _M_D__D_E_L_T_A_S_T_A_M_P, _M_D__R_E_L_A_T_I_V_E_S_T_A_M_P, _M_D__R_E_L_A_T_I_V_E_T_I_C_K_S and _M_D__D_E_L_T_A_T_I_C_K_S.
-
- If an output port is in MD_NOSTAMP mode, the interface will ignore the
- stamp and transmit the event immediately. On input, events are stamped
- with the UST (unadjusted system time) corresponding to the arrival time
- of the final byte in the message.
-
- In MD_DELTASTAMP mode, the stamp contains the number of nanoseconds
- between the event and its predecessor. If the stamp is 0, the two events
- are logically coincident in time. On output, if the stamp is non-zero,
- the event will be transmitted the specified number of nanoseconds after
- the preceeding event.
-
- In MD_RELATIVESTAMP mode, stamps are relative to the port's origin time
- (see mmmmddddSSSSeeeettttSSSSttttaaaarrrrttttPPPPooooiiiinnnntttt((((3333ddddmmmm))))). A time stamp of 0 indicates that the event
- was received or transmitted at the origin UST. If an event with a stamp
- of nnnn is sent to an interface in this mode, the driver will transmit the
- event nnnn nanoseconds after the origin time. If the application falls
- behind and transmits events whose stamps indicate that the event should
- have been sent sometime in the past, the event will be transmitted
- immediately. If an event with a stamp of nnnn is received, then the last
- byte of the event arrived nnnn nanoseconds after the origin time.
-
- MD_RELATIVETICKS and MD_DELTATICKS set the MDport into a mode that allows
- the use of ticks instead of real time to control the timing of MIDI
- events. Ticks are defined in terms compatible with Standard MIDI files;
- at any given point, the duration of a tick is equal to the number of
- microseconds per quarter note (as set by mmmmddddSSSSeeeettttTTTTeeeemmmmppppoooo or a tempo event)
- multiplied by the current tempo scaling value (set with mmmmddddSSSSeeeettttTTTTeeeemmmmppppoooossssccccaaaalllleeee)
- and divided by the current number of divisions (set with mmmmddddSSSSeeeettttDDDDiiiivvvviiiissssiiiioooonnnn).
- The advantage of this mode is that the duration of each beat can be
- changed (either synchronously with a tempo event or asynchronously with
- mmmmddddSSSSeeeettttTTTTeeeemmmmppppooooSSSSccccaaaalllleeee)))) wwwwiiiitttthhhhoooouuuutttt aaaalllltttteeeerrrriiiinnnngggg tttthhhheeee ssssttttaaaammmmppppssss oooonnnn tttthhhheeee eeeevvvveeeennnnttttssss....
- MMMMDDDD____RRRREEEELLLLAAAATTTTIIIIVVVVEEEETTTTIIIICCCCKKKKSSSS aaaalllllllloooowwwwssss tttthhhheeee ttttiiiicccckkkkssss ttttoooo bbbbeeee rrrreeeecccckkkkoooonnnneeeedddd ffffrrrroooommmm aaaannnn oooorrrriiiiggggiiiinnnn ttttiiiicccckkkk tttthhhhaaaatttt
- iiiissss sssseeeetttt wwwwiiiitttthhhh mmmmddddSSSSeeeettttSSSSttttaaaarrrrttttPPPPooooiiiinnnntttt((((3333AAAA)))).... MMMMDDDD____DDDDEEEELLLLTTTTAAAATTTTIIIICCCCKKKKSSSS uuuusssseeeessss ssssiiiimmmmpppplllleeee ddddeeeellllttttaaaa ttttiiiicccckkkkssss,,,,
- wwwwhhhheeeerrrreeee tttthhhheeee ssssttttaaaammmmpppp''''ssss vvvvaaaalllluuuueeee iiiinnnnddddiiiiccccaaaatttteeeessss hhhhoooowwww mmmmaaaannnnyyyy ttttiiiicccckkkkssss ffffaaaallllllll bbbbeeeettttwwwweeeeeeeennnn tttthhhhiiiissss eeeevvvveeeennnntttt
- aaaannnndddd tttthhhheeee ttttiiiimmmmeeee aaaatttt wwwwhhhhiiiicccchhhh iiiittttssss pppprrrreeeeddddeeeecccceeeessssssssoooorrrr wwwwaaaassss ttttrrrraaaannnnssssmmmmiiiitttttttteeeedddd....
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- mmmmddddSSSSeeeettttSSSSttttaaaammmmppppMMMMooooddddeeee((((3333ddddmmmm)))) mmmmddddSSSSeeeettttSSSSttttaaaammmmppppMMMMooooddddeeee((((3333ddddmmmm))))
-
-
-
- DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
- An application should set the stamping mode immediately after a port is
- opened. Once set, the stamping mode should not be changed again.
-
-
- RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEE
- mmmmddddGGGGeeeettttSSSSttttaaaammmmppppMMMMooooddddeeee returns the current stamp mode for the port.
- mdSetStampMode returns 0 on success and -1 on error. The following error
- codes are expected:
-
- EINVAL - An undefined stamp mode was specified.
-
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- mdSetTempo(3dm), mdSetTemposcale(3dm), mdSetDivision(3dm)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-